home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1985-06-20 | 9.3 KB | 282 lines
0 KEY OFF:PLAY"MF":SCREEN 1:FOR Z=3000 TO 440 STEP -30:SOUND Z,0.5:NEXT 1 SET=100:FOR SSS=1 TO 200:SOUND RND*SET+37,0.0125:SET=SET-0.5:COLOR SSS MOD 15:NEXT:SOUND 37,0:COLOR 0:LOCATE 1,1,0,0,7:DEF SEG:POKE 92,25 2 REM 3 REM By Benton Fowler, Rt 1 Box 247H, LaCrescent, MN 55947 4 REM 10 PLAY"T250":CLS:' Build Wumpus Caves 20 DIM I(20,4):SCREEN 1 30 DATA 2,5,8,1,3,10,2,4,14,2,5,14,1,4,6,5,7,15,6,8,17 40 DATA 1,7,9,8,10,18,2,9,11,10,12,19,3,11,13,12,14,20,4,13,15 50 DATA 6,14,16,15,17,20,7,16,18,9,17,19,11,18,20,13,16,19 60 FOR Q=1 TO 20 70 READ A,B,C 80 I(Q,1)=A 90 I(Q,2)=B 100 I(Q,3)=C 110 NEXT Q:CLS:SCREEN 2:SCREEN 0:CLS 120 PRINT:PRINT:COLOR 31,0,4:PRINT TAB(35);"WUMPUS !!!":COLOR 4:PRINT:PRINT TAB(20);"YOU ARE NOW ENTERING THE";:COLOR 28:PRINT " WUMPUS ZONE !!!" 130 PRINT:COLOR 14:PRINT TAB(36);"PROCEED":PRINT TAB(33);"WITH CAUTION!":COLOR 7:PRINT:PRINT 150 RANDOMIZE(VAL(RIGHT$(TIME$,2))) 160 PRINT TAB(23);"ENTER A RANDOM NUMBER, PLEASE --> ";:INPUT "",E 170 IF E>444 THEN E=444 180 FOR I=1 TO E:X=RND:NEXT I 190 ' INSTRUCTIONS 200 GOSUB 1880 210 ' INIT FOR NEW GAME 220 W0=2:L=1:R=10 230 ' SET UP MAP 240 GOSUB 2390 250 GOTO 370 260 ' 270 ' MAIN PROGRAM 280 ' 290 ' CHECK FOR CAVE ENTRANCE 300 IF L<>1 THEN 370 310 COLOR RND*14+1:PRINT "YOU ARE IN THE ENTRANCE CAVE." 320 COLOR RND*14+1:INPUT "DO YOU WISH TO LEAVE";E$ 330 IF E$<>"Y" THEN 370 ELSE COLOR INT(RND*14)+1:PRINT "YOU BAGGED";ABS(2-W0);" WUMPI" 340 COLOR INT(RND*14)+1:PRINT"GOOD LUCK NEXT NEXT TIME" 350 GOTO 980 360 ' DETERMINE HAZARDS 370 GOSUB 1650 380 COLOR RND*14+1:PRINT "YOU ARE IN CAVE";L:PLAY"MST250L8O4;CGECGEC;MLL4;CC" 390 ' 400 COLOR RND*14+1:PRINT "TUNNELS LEAD TO CAVES";I(L,1)",";I(L,2)",";I(L,3) 410 PLAY"MLT255L8O4;GGEGGECC":COLOR RND*14+1:INPUT "DO YOU WANT TO MOVE OR SHOOT (M OR S)";E$ 420 IF E$="M" THEN 460 430 IF E$="S" THEN 1030 440 BEEP:COLOR 31:PRINT "M or S":GOTO 410 450 ' 460 ' HUNTER MOVES 470 GOSUB 2210 480 IF I(M,0)=4 THEN 540 490 IF I(M,0)=3 THEN 580 500 IF I(M,0)=2 THEN 730 510 L=M 520 IF I(M,4)=1 THEN 830 ' WUMPUS 530 GOTO 1290 ' WIERD THINGS 540 PLAY"MLT250L8O3;CDEFGEC":COLOR RND*14+1:PRINT "CAVE BLOCKED BY FALLEN ROCK." 550 GOTO 1290 560 ' 570 ' PIT STOP 580 X=RND 590 IF X>0.1 THEN 640 600 FOR SSS=8000 TO 40 STEP -200:SOUND SSS,0.5:NEXT:COLOR RND*14+1:PRINT "WHAT A LUCKY BREAK !!!" 610 COLOR RND*14+1:PRINT "YOU FELL IN A PIT BUT LANDED ON A LEDGE." 620 COLOR RND*14+1:PRINT "YOU ARE UNHURT, BUT ONLY BECAUSE YOU LANDED ON YOUR HEAD!!":COLOR RND*14+1:PRINT "WHY DO TURKEYS LIKE YOU HAVE ALL THE LUCK ???":FOR SSS=100 TO 8000 STEP 200:SOUND SSS,0.5:NEXT 630 GOTO 1290 640 IF X>0.2 THEN 690 650 PLAY"MLT250O4L8;C;O3;BAGFDEC;O1;CCCC":COLOR RND*14+1:PRINT "WHEW - GOOD THING YOU'RE SUCH A KLUTZ." 660 COLOR RND*14+1:PRINT "YOU TRIPPED ON YOUR SHOELACE, BUT IT KEPT YOU FROM FALLING INTO A PIT." 670 COLOR RND*14+1:PRINT "THAT WAS A CLOSE ONE !" 680 GOTO 1290 690 FOR SSS=8000 TO 100 STEP -200:SOUND SSS,0.5:NEXT:COLOR 31:PRINT "EEEEAAAAAAAAYYYYYYYAAAAAAHHHHH IIIITTTSSS AAA PIIIIIIIIIIIIIIT" 700 GOTO 970 'GAME OVER 710 ' 720 ' BATS 730 COLOR RND*14+1:PRINT"BATS GOTCHA":PLAY"MLT240O3L2;D;O2;G;O3L4;E;L8;DCCDDDP4DD;O2;BB;O3;DDCCDCC;O2;BAAP1" 740 X=INT(RND*20)+1 750 IF I(X,0)=4 THEN 740 ' NOT A BLOCKED CAVE 760 IF I(X,0)=3 THEN 580 ' PIIIIIIITTTTTTT 770 IF I(X,0)=2 THEN 740 780 IF I(X,0)=1 THEN 830 ' HIA, WUMPUS 790 L=X 800 GOTO 1290 810 ' 820 ' HELLO, MR. WUMPUS... 830 X=RND 840 IF X>0.8 THEN 2550 850 IF X<0.71 THEN 960 860 PLAY"MST250L8O3;CCCEECGGFEEC":COLOR RND*14+1:PRINT "WWWWWWWOOOOOOOOOOWWWWWWWW!!!!!!!!!!!!" 870 COLOR RND*14+1:PRINT "WHAT A STORY FOR YOUR GRANDCHILDREN !" 880 COLOR RND*14+1:PRINT "YOU OUT-WRESTLED A WUMPUS !" 890 COLOR RND*14+1:PRINT "(DON'T MENTION HOW HE KNOCKED HIMSELF OUT RUNNING INTO A WALL)" 900 PRINT 910 COLOR RND*14+1:PRINT "AN UNMARKED WUMPUS SKIN - WHAT A PRIZE - YOU'LL BE RICH !" 920 IF W0<>2 THEN 2680 930 COLOR RND*14+1:PRINT "THATS IF YOU CAN ESCAPE ITS MATE - I THINK I SMELL IT NOW !" 940 W0=1 950 GOTO 2700 960 COLOR RND*14+1:PRINT "WUMPUS GOT YOU":PLAY"MLT200L8O3;CCCP64CFFFFCCCP64FAAA" 970 COLOR RND*14+1:PRINT "TOOOOO BAD...":SOUND 37,30 980 INPUT "WOULD, BY ANY CHANCE, YOU LIKE TO PLAY AGAIN";E$ 990 IF E$="Y" THEN 210 1000 IF E$="N" THEN COLOR 7:GOTO 2540 1010 COLOR 31:BEEP:PRINT "Y or N" 1020 COLOR 7:GOTO 980 1030 ' HUNTER SHOOTS 1040 IF R>0 THEN 1070 1050 COLOR RND*14+1:PRINT "NO";:COLOR RND*14+1:PRINT " MORE";:COLOR RND*14+1:PRINT " ARROWS":PLAY"MLT200O3L4;GEC" 1060 GOTO 410 1070 R=R-1 1080 GOSUB 2210 1090 IF Z=1 THEN GOTO 1290 1100 IF I(M,4)<>1 THEN 1270 1110 X=RND 1120 IF X<0.1 THEN 1240 1130 IF X>0.6 THEN 1170 1140 FOR SSS=1 TO 5:PLAY"MLT255O5L16;GEC":NEXT:COLOR RND*14+1:PRINT "YOU WOUNDED THE WUMPUS !" 1150 COLOR RND*14+1:PRINT "BOY, IS HE MAD ! 1160 X=INT(RND*20)+1:GOTO 1380 1170 PLAY"MST255O3L8;CCGEECGGE;L2;C":COLOR RND*14+16:PRINT " *********** WHOOPEE ***********" 1180 COLOR RND*14+16:PRINT " **** YOU SHOT THE WUMPUS ****" 1190 COLOR RND*14+16:PRINT " ******** GOOD WORK ********" 1200 IF W0<>2 THEN 2680 1210 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:COLOR RND*14+1:PRINT"NOW YOU BETTER WATCH OUT FOR ITS MATE" 1220 W0=1:PRINT 1230 GOTO 2700 1240 COLOR RND*14+1:PRINT "UH OH - NOW YOU GOT THAT WUMPUS MAD !":PLAY"MST200L8;GGGGFFFFCCCE" 1250 COLOR RND*14+1:PRINT "MAYBE YOU SHOULD TAKE THOSE ARCHERY LESSONS YOU WERE THINKING ABOUT !" 1260 GOTO 1290 1270 COLOR RND*14+1:PRINT "MISSED." 1280 ' 1290 ' THINGS THAT GO BUMP IN THE CAVE 1300 X=RND*25 1310 IF X>1 THEN 1360 1320 COLOR RND*14:PRINT " **** EARTHQUAKE ****":SET=100:FOR SSS=1 TO 200:SOUND RND*SET+37,0.0125:SET=SET-0.5:NEXT:SOUND 37,0:COLOR RND*14+1 1330 GOSUB 2390 1340 IF L=W THEN 830 1350 GOTO 290 1360 IF X>12 THEN 1420 1370 ' WUMPY MOVES 1380 Y=INT(RND*3)+1:I(W,4)=0:W=I(W,Y) 1390 IF I(W,0)=4 THEN 1380 1400 I(W,4)=1 1410 IF W=L THEN 830 1420 IF X>2 THEN 1490 1430 IF R=0 THEN 290 1440 COLOR RND*14+1:PRINT "YOU STUMBLED AND DROPPED YOUR ARROWS, YOU KLUTZ." 1450 K=INT(RND*3)+1 1460 IF K>R THEN 290 1470 R=R-K:PRINT:COLOR RND*14+1:PRINT K;" ARROWS LOST." 1480 GOTO 290 1490 IF X<23 THEN 1540 1500 PLAY"MLT250L8O3;CECD":COLOR RND*14+1:PRINT "YOU FOUND AN ARROW" 1510 IF R=<2 THEN COLOR RND*14+1:PRINT "YOU NEEDED ONE, TOO." 1520 R=R+1 1530 GOTO 290 1540 IF X<9 THEN 290 1550 IF X>10 THEN 1580 1560 COLOR RND*14+1:PRINT "HMMMM -- WUMPUS TRACKS" 1570 GOTO 290 1580 IF X>10.5 THEN 290 1590 COLOR RND*14+1:PRINT "YOU FOUND A PIECE OF RARE FELDSNIT PUSSY" 1600 COLOR RND*14+1:PRINT "MAYBE YOU SHOULD BE A MINER...":PLAY"MST255L8;DCC" 1610 GOTO 290 1620 ' 1630 ' SUB ROUTINES START HERE 1640 ' AND THE BUCK STOPS HERE 1650 ' DETERMINE HAZZARDS 1660 PRINT 1670 PRINT 1680 Y1=0:Y2=0:Y3=0 1690 S=L:GOSUB 1780 1700 S=I(L,1):GOSUB 1780 1710 S=I(L,2):GOSUB 1780 1720 S=I(L,3):GOSUB 1780 1730 IF Y2=0 AND Y3>0 OR Y3<0 THEN COLOR RND*14+1:PRINT "KINDA STALE AIR HERE" 1740 COLOR RND*14+1:PRINT "YOU HAVE";R;" ARROWS" 1750 PRINT 1760 RETURN 1770 ' 1780 ' PRINT HAZZARDS 1790 IF I(S,4)=1 THEN COLOR RND*14+1:PRINT "I SMELL A WUMPUS..." 1800 IF I(S,0)>2 OR I(S,0)<2 THEN 1830 1810 IF Y1=0 THEN COLOR RND*14+1:PRINT "I THINK I HEAR BATS..." 1820 Y1=1 1830 IF I(S,0)<3 OR I(S,0)>3 THEN 1860 1840 IF Y2=0 THEN COLOR RND*14+1:PRINT "I FEEL A DRAFT..." 1850 Y2=1 1860 IF I(S,0)=4 THEN Y3=1 1870 RETURN 1880 COLOR RND*14+1:PRINT TAB(27);"DO YOU WANT INSTRUCTIONS ";:INPUT "";E$ 1890 IF E$="Y" THEN 1930 1900 IF E$="N" THEN E$="Y":GOTO 2180 1910 COLOR 31:PRINT "Y or N":BEEP:COLOR 7:GOTO 1880 1920 ' HERE WE GO ! 1930 COLOR 11,0,3:PRINT:A$=SPACE$(5) 1940 PRINT A$;" YOU ARE HUNTING A `WUMPUS' - A CREATURE WHOSE EXTRAORDINARY" 1950 PRINT A$;"PURPLE FUR COMMANDS A GREAT PRICE. WUMPI ARE GENTLE CREATURES" 1960 PRINT A$;"WHO EAT MUSHROOMS AND PLAY WITH THEIR BIG FEET. HOWEVER, THEY" 1970 PRINT A$;"LIKE SOLITUDE AND WILL EAT YOU IF YOU BOTHER THEM." 1980 PRINT 1990 PRINT A$;"THE WUMPUS LIVES IN A SERIES OF UNDERGROUND CAVES. EACH CAVE" 2000 PRINT A$;"IS CONNECTED TO 3 OTHERS BY TUNNELS. SOME TUNNELS, HOWEVER," 2010 PRINT A$;"HAVE BECOME BLOCKED BY FALLING ROCK DURING EARTHQUAKES, WHICH" 2020 PRINT A$;"ARE COMMON IN THIS AREA. SOME OF THE CAVES CONTAIN BOTTOMLESS" 2030 PRINT A$;"PITS (THESE ARE TRULY BOTTOMLESS - IF FALL INTO ONE YOU'LL NEVER 2040 PRINT A$;"BE SEEN AGAIN). ALSO TO BE FOUND FLUTTERING AROUND THE CAVES" 2050 PRINT A$;"ARE `SUPERBATS' - A SORT OF MASS TRANSIT SYSTEM GONE BATTY." 2060 PRINT A$;"THEY'LL PICK YOU UP AND DROP YOU IN A RANDOM CAVE (WHERE" 2070 PRINT A$;"YOU MAY FALL INTO A PIT OR GET EATEN BY A WUMPUS). BY THE WAY," 2080 PRINT A$;"IF AN EARTHQUAKE OCCURS, PITS MAY FILL UP, THE TUNNELS MAY" 2090 PRINT A$;"BECOME BLOCKED OR CLEAR UP, AND THE WUMPUS IS DISTURBED." 2100 PRINT 2110 PRINT A$;"THE WUMPUS IS UNNAFFECTED BY THE HAZZARDS (HE HAS SUCKER FEET AND 2120 PRINT A$;"IS TOO HEAVY FOR THE BATS TO LIFT). ALSO IF HE IS RESTLESS HE" 2130 PRINT A$;"MAY WANDER AIMLESSLY THROUGH THE CAVES - PERHAPS TO STUMBLE APON 2140 PRINT A$;"A TASTY HUNTER TO HAVE FOR HIS DESSERT." 2150 PRINT 2160 PRINT A$;"PLEASE HAVE GOOD FORTUNE IN YOUR HUNTING, UNTIL YOU'RE ET." 2170 COLOR 3:PRINT A$;"ENTER Y WHEN YOU ARE READY TO PLAY";:INPUT E$ 2180 IF E$="Y" THEN COLOR 7,0,0:CLS:RETURN 2190 COLOR 31:PRINT A$;"I SAID Y !!!!!":BEEP:COLOR 7 2200 GOTO 2170 2210 ' ROUTINE TO DETERMINE DESTINATION CAVE 2220 COLOR RND*14+1:INPUT "WHICH CAVE ";E 2230 IF E=L THEN 2290 2240 IF E=I(L,1) THEN 2360 2250 IF E=I(L,2) THEN 2360 2260 IF E=I(L,3) THEN 2360 2270 COLOR RND*14+1:PRINT "YOU CANT GET TO CAVE";E;" FROM HERE !":BEEP 2280 GOTO 2220 2290 IF E$="M" THEN 2350 2300 COLOR RND*14+1:PRINT "YIIIIIIIIIIIII":FOR Z=1 TO 20:SOUND 5000,0.5:SOUND 4200,0.5:NEXT 2310 COLOR RND*14+1:PRINT "YOU SHOT YOURSELF IN THE FOOT, YOU DUMMY." 2320 COLOR RND*14+1:PRINT "NICE GOING. ALL THAT NOISE MIGHT WAKE THE WUMPUS" 2330 Z1=1 2340 GOTO 2370 2350 COLOR RND*14+1:PRINT "ARE'NT YOU A LAZY SLOB, THOUGH?":SOUND 1000,5:SOUND 1200,2:SOUND 1000,5 2360 Z1=0 2370 M=E 2380 RETURN 2390 ' LOCATE HAZARDS 2400 FOR T=1 TO 20:I(T,0)=0:I(T,4)=0:NEXT T 2410 X=INT(RND*20)+1 2420 IF X=1 THEN 2410 2430 I(X,4)=1:W=X:Z=1 2440 FOR Y=1 TO 3 2450 Z=Z+1 2460 FOR V=1 TO 2 2470 X=INT(RND*20)+1 2480 IF X=1 THEN 2470 2490 IF I(X,0)>0 OR I(X,0)<0 THEN 2470 2500 I(X,0)=Z 2510 NEXT V 2520 NEXT Y 2530 RETURN 2540 PLAY"MST150L8O3;CC;MLO4;CCCCCCP64CC;O3;AAAAAAA;L16;AC;L8;DDD;L16;C;L8;E-E-E-;L16;C;L4;EEE":END 2550 PLAY"MLT255O3L8;CCDEEDEEDC":COLOR RND*14+1:PRINT "WHEW, WHAT AN ESCAPE !" 2560 COLOR RND*14+1:PRINT "THE WUMPUS ALMOST GOT YOU, BUT A ROCK FELL ON HIS HEAD" 2570 X=RND:IF X>0.7 THEN 2610 2580 COLOR RND*14+1:PRINT "YOU LOST HALF YOUR ARROWS, BUT YOU ESCAPED" 2590 R=INT(R/2) 2600 GOTO 2630 2610 COLOR RND*14+1:PRINT "YOU LOST ALL YOUR ARROWS, BUT YOU ESCAPED" 2620 R=0 2630 Y=INT(RND*3)+1:L=I(L,Y) 2640 Y=INT(RND*3)+1:I(W,4)=0:W=I(W,Y) 2650 IF I(W,0)=4 THEN 2640 2660 I(W,4)=1:IF W=L THEN 2640 2670 GOTO 290 2680 PLAY"MLT250L8O4;CFA;O5;CC;O4;A;O5;CC;O4;A;O5;CC;O4;AF":COLOR RND*14+1:PRINT "YOU MADE IT ! YOU KILLED BOTH WUMPI ! GOOD JOB !" 2690 GOTO 980 2700 W0=1 2710 I(W,4)=0 2720 X=INT(RND*20)+1 2730 IF I(X,0)>0 OR I(X,0)<0 THEN 2720 2740 IF X=L THEN 2720 2750 W=X 2760 I(X,4)=1 2770 GOTO 290